Not applicable.
The present invention is generally related to data communications and, more particularly, is related to a Reed-Solomon (xe2x80x9cRSxe2x80x9d) encoder and method for minimizing or eliminating errors in data communication.
Communication of information in the form of digital data is quite commonplace in today""s society. There are many different communications channels that may be employed to facilitate such data communication. Such channels may include existing telecommunications networks, the air, optical fiber networks, or other like media. It is often the case that the communications channels chosen do not provide a perfect medium to transfer data information, and for various reasons such as noise, interference, or other phenomena, errors may be introduced into the data stream transmitted across a particular channel.
Many different approaches have been proposed to either reduce or eliminate errors in data communications. One such approach is to employ Reed-Solomon encoding. When employing Reed-Solomon encoding, data is transmitted in codewords which include a number of parity symbols along with the original data symbols. The parity symbols are generated using a Reed-Solomon encoder. These parity symbols may be employed to correct errors in a received data signal.
When using Reed-Solomon encoding, a number 2t of parity symbols may be generated to allow a data system to correct up to t possible errors in the transmitted data. However, for each different number of total parity symbols generated, there is a unique Reed-Solomon generator polynomial with a specific number of coefficients employed. Thus, the typical Reed-Solomon encoder creates a specific number of parity symbols, which limits its usefulness if more or less parity symbols are desired.
The present invention provides a configurable Reed-Solomon encoder and method that addresses the above concerns. In one embodiment, the configurable Reed-Solomon encoder comprises a distributed multiply accumulator, a parallel latch bank operatively coupled to the distributed multiply accumulator, a data/parity multiplexer coupled to the parallel latch bank, and an encoder controller operatively coupled to, and controlling the operation of, the distributed multiply accumulator, the parallel latch bank, and the data/parity multiplexer. The configurable Reed-Solomon encoder is preferably implemented in an application specific integrated circuit (ASIC), although it may be implemented in software executed by a high-speed digital signal processor, etc.
The present invention can also be viewed as providing a method for generating a Reed-Solomon codeword. Broadly stated, the method comprises the steps of: generating a parity symbol output with a multiply accumulator, distributing the operation of the multiply accumulator among a number of parallel latches, and generating a data output from a data input and a number of parity symbols stored in the parallel latches.
A significant advantage of the present invention is that it is highly configurable to implement Reed-Solomon encoding for different data communications protocols, etc. Specifically, the Reed-Solomon encoder of the present invention may be configured to generate a number of parity symbols for Reed-Solomon codewords of a particular length constrained by a Galois field of 2m, where m is the number of bits per symbol. The present invention is also economical in that it requires a minimum number of logical components to implement and consumes less power, while at the same time being highly configurable. Other advantages of the invention are that it is simple in design, user friendly, robust and reliable in operation, and easily implemented for mass commercial production.
Other features and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention.